Semantics-based code obfuscation by abstract interpretation
نویسندگان
چکیده
In recent years code obfuscation has attracted research interest as a promising technique for protecting secret properties of programs. The basic idea of code obfuscation is to transform programs in order to hide their sensitive information while preserving their functionality. One of the major drawbacks of code obfuscation is the lack of a rigorous theoretical framework that makes it difficult to formally analyze and certify the effectiveness of obfuscating techniques. We face this problem by providing a formal framework for code obfuscation based on abstract interpretation and program semantics. In particular, we show that what is hidden and what is preserved by an obfuscating transformation can be expressed as abstract interpretations of program semantics. Being able to specify what is masked and what is preserved by an obfuscation allows us to understand its potency, namely the amount of obscurity that the transformation adds to programs. In the proposed framework, obfuscation and attackers are modeled as approximations of program semantics and the lattice of abstract interpretations provides a formal tool for comparing obfuscations with respect to their potency. In particular, we prove that our framework provides an adequate setting to measure not only the potency of an obfuscation but also its resilience, i.e., the difficulty of undoing the obfuscation. We consider code obfuscation by opaque predicate insertion and we show how the degree of abstraction needed to disclose different opaque predicates allows us to compare their potency and resilience.
منابع مشابه
Semantic-Based Code Obfuscation by Abstract Interpretation
Interpretation Mila Dalla Preda and Roberto Giacobazzi Dipartimento di Informatica, Università di Verona Strada Le Grazie 15, 37134 Verona (Italy) [email protected] | [email protected] Abstract. In this paper we introduce a semantic-based approach for code obfuscation. The aim of code obfuscation is to prevent malicious users to disclose properties of the original source program. ...
متن کاملOpaque Predicates Detection by Abstract Interpretation
Code obfuscation and software watermarking are well known techniques designed to prevent the illegal reuse of software. Code obfuscation prevents malicious reverse engineering, while software watermarking protects code from piracy. An interesting class of algorithms for code obfuscation and software watermarking relies on the insertion of opaque predicates. It turns out that attackers based on ...
متن کاملFormal Description and Analysis of Malware Detection Algorithm MOM A
Code obfuscation can alter the syntactic properties of malware byte sequences without significantly affecting their execution behaviors. Thus it can easily foil signature-based detection. In this paper, the ability of handling obfuscation transformations of the semanticsbased malware detection algorithm MOM A proposed by Gao et al. is discussed using abstract interpretation theory from a semant...
متن کاملAnalyzing Memory Accesses in Obfuscated x86 Executables
Programmers obfuscate their code to defeat manual or automated analysis. Obfuscations are often used to hide malicious behavior. In particular, malicious programs employ obfuscations of stack-based instructions, such as call and return instructions, to prevent an analyzer from determining which system functions it calls. Instead of using these instructions directly, a combination of other instr...
متن کاملObfuscation by Partial Evaluation of Distorted Interpreters (Invited Talk) (meta 2012)
How to construct a general program obfuscator? We present a novel approach to automatically generating obfuscated code P ′ from any program P whose source code is given. Start with a (program-executing) interpreter interp for the language in which P is written. Then “distort” interp so it is still correct, but its specialization P ′ w.r.t. P is transformed code that is equivalent to the origina...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Computer Security
دوره 17 شماره
صفحات -
تاریخ انتشار 2009